package ca.usherbrooke.domus.sipnmove.sip;

/**
 * Observe the SIP facade events
 * 
 * The SIP facade is able to notify listeners of received SIP message.
 */
public interface SipFacadeListener {

	/**
	 * Process a TRYING SIP message
	 * 
	 * TODO : Define the parameters of this method
	 * 
	 * @param callId
	 */
	public void processTrying(String callId);

	/**
	 * Process a RINGING SIP message
	 * 
	 * TODO : Define the parameters of this method
	 * @param callId
	 */
	public void processRinging(String callId);

	/**
	 * Process a OK SIP message
	 * 
	 * TODO : Define the parameters of this method
	 * @param callId
	 */
	public void processOk(String callId);

	/**
	 * Process a ACK SIP message
	 * 
	 * TODO : Define the parameters of this method
	 * @param callId
	 */
	public void processAck(String callId);

	/**
	 * Process a Re-INVITE SIP message
	 * 
	 * TODO : Define the parameters of this method
	 * @param callId
	 */
	public void processInvite(String callId);

	/**
	 * Process a BYE SIP message
	 * 
	 * TODO : Define the parameters of this method
	 * @param callId
	 */
	public void processBye(String callId);

	/**
	 * Process a CANCEL SIP message
	 * 
	 * TODO : Define the parameters of this method
	 * @param callId
	 */
	public void processCancel(String callId);
	
}
